Path: blob/master/Part 3 - Classification/Naive Bayes/[Python] Naive Bayes.ipynb
1009 views
Kernel: Python 3
Naive Bayes
Data preprocessing
In [2]:
In [3]:
In [4]:
Out[4]:
In [5]:
In [6]:
Out[6]:
array([[ 27, 57000],
[ 46, 28000],
[ 39, 134000],
[ 44, 39000],
[ 57, 26000],
[ 32, 120000],
[ 41, 52000],
[ 48, 74000],
[ 26, 86000],
[ 22, 81000]])
In [7]:
Out[7]:
array([[ 46, 22000],
[ 59, 88000],
[ 28, 44000],
[ 48, 96000],
[ 29, 28000],
[ 30, 62000],
[ 47, 107000],
[ 29, 83000],
[ 40, 75000],
[ 42, 65000]])
In [8]:
Out[8]:
array([0, 1, 1, 0, 1, 1, 0, 1, 0, 0])
In [9]:
Out[9]:
array([0, 1, 0, 1, 0, 0, 1, 0, 0, 0])
In [11]:
In [12]:
Out[12]:
array([[-1.06675246, -0.38634438],
[ 0.79753468, -1.22993871],
[ 0.11069205, 1.853544 ],
[ 0.60129393, -0.90995465],
[ 1.87685881, -1.28811763],
[-0.57615058, 1.44629156],
[ 0.3069328 , -0.53179168],
[ 0.99377543, 0.10817643],
[-1.16487283, 0.45724994],
[-1.55735433, 0.31180264]])
In [13]:
Out[13]:
array([[ 0.79753468, -1.40447546],
[ 2.07309956, 0.51542886],
[-0.96863208, -0.76450736],
[ 0.99377543, 0.74814454],
[-0.87051171, -1.22993871],
[-0.77239133, -0.24089709],
[ 0.89565505, 1.06812859],
[-0.87051171, 0.36998156],
[ 0.20881242, 0.13726589],
[ 0.40505317, -0.15362871]])
Fitting Naive Bayes Classifier to the Training set
In [14]:
Out[14]:
GaussianNB(priors=None)
Predicting the Test set results
In [15]:
In [16]:
Out[16]:
array([1, 1, 0, 1, 0, 0, 1, 0, 0, 0])
In [17]:
Out[17]:
array([0, 1, 0, 1, 0, 0, 1, 0, 0, 0])
Making the Confusion Matrix
In [18]:
Out[18]:
array([[50, 2],
[ 3, 25]])
classifier made 50 + 25 = 75 correct prediction and 2 + 3 = 5 incoreect predictions.
Visualising the Training set results
In [19]:
Out[19]:
Visualising the Test set results
In [20]:
Out[20]:
Naive Bayes is another non-linear classifier. It works on the principle of Bayes theorem.
Here we can see that we got a pretty good classifier with very fewer incorrect predictions. Though no classifier is 100% correct.
Every classifier is wrong , but some are useful.